package com.tfjybj.itoo.exam.provider.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.tfjybj.itoo.exam.entity.SigninDetailsEntity;
import com.tfjybj.itoo.exam.model.SigninDetailsModel;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * SigninDetailsDao接口
 * signinDetails表
 *
 * @author 郭满亮
 * @version 2.0.0
 * @since 2.0.0 2019-03-19 09:21:41
 */
@Repository("signinDetailsDao")
public interface SigninDetailsDao extends BaseMapper<SigninDetailsEntity> {
    /**
     * 根据签到表id查询所有学生签到情况
     *
     * @param signInId 签到表id
     * @return 所有学生签到情况
     * @author 郭满亮
     * @since 2019年3月20日10:08:00
     */
    List<SigninDetailsModel> queryAllSigninDetails(@Param("signInId") String signInId);

    /**
     * 查询学生所在的上课班
     *
     * @param studentId
     * @return
     * @author 于云秀
     * @since 2019年3月20日
     */
    List<SigninDetailsEntity> selectTeacherClass(@Param("studentId") String studentId);

    /**
     * 更新考生状态
     *
     * @param studentId
     * @param state
     * @return
     * @author 于云秀
     * @since 2019年3月20日
     */
    int updateStudentState(@Param("studentId") String studentId, @Param("state") String state);

    /**
     * 查询所有考生
     *
     * @param courseId
     * @return
     * @author 于云秀
     * @since 2019年3月20日
     */
    List<SigninDetailsEntity> selectStudentState(@Param("courseId") String courseId);


    /**
     * 查询学生状态
     * @author 于云秀
     * @since 2019年3月24日
     * @param courseId
     * @param studentId
     * @return
     */
    List<SigninDetailsEntity> selectState(@Param("courseId") String courseId, @Param("studentId") String studentId);

}
